﻿#include <iostream>
#include <map>
using namespace std;
//int main()
//{
//	map<string, string> dict{ {"查找","find"},{"插入","insert"},{"左边","left"} };
//	auto it = dict.begin();
//		while (it != dict.end()) {
//			cout << it->first << " " << it->second << endl;//map未重载<< 但是内部的pair有 且pair是个结构体,内部的对象为公有，结构体内部还重载了operator()->
//			it++;
//	}
//}

//插入
//int main() {
//	map<string, string> dict;
//	//利用pair又名对象插入
//	pair<string, string> kv1("find","查找" );
//	dict.insert(kv1);
//	auto it = dict.begin();
//	//匿名对象
//	dict.insert(pair < string, string> ("findd","查找" ));
//	//make_pair
//	dict.insert(make_pair("finddd", "查找"));
//	//花括号
//	dict.insert({"findddd", "查找"}) ;//花括号外面是小括号
//			for(const auto& [k,v]:dict) {//结构化绑定
//				cout << k << " " << v << endl;//map未重载<< 但是内部的pair有 且pair是个结构体,内部的对象为公有，结构体内部还重载了operator()->
//				
//		}
//}

//operatpr[]插入 查找 修改 
//int main()
//{
//	map<string, string> dict;
//	//插入
//	dict["repair"];
//	//插入＋修改
//	dict["sort"] = "排序";
//	//查找
//	//cout << dict["key"] << endl;
//	//cout << dict["sort"] << endl;
//	dict["sort"] = "yyy";
//	//dict["批改"] = 
//			for(const auto& [k,v]:dict) {//结构化绑定
//				cout << k << " " << v << endl;//map未重载<< 但是内部的pair有 且pair是个结构体,内部的对象为公有，结构体内部还重载了operator()->			
//		}
//	
//}

int main() {
	map<string, int> Cout;
	string arr[]{ "苹果", "西⽠", "苹果", "西⽠", "苹果", "苹果", "西⽠","苹果", "⾹蕉", "苹果", "⾹蕉" };
	for (auto& e : arr) {
		Cout[e]++;
	}

	for (const auto& [k, v] : Cout) {//结构化绑定
		cout << k << " " << v << endl;//map未重载<< 但是内部的pair有 且pair是个结构体,内部的对象为公有，结构体内部还重载了operator()->			
	}
}
	





